Notes on the source code for STAR PORTAL.

David Malmberg (co-author of AGT) urged me to share the source code for
SP, in the hopes that it might help show beginners how to do some of the
more advanced thigns with AGT.  Personally, I sort of doubt that anyone is
going to make much sense out of a lot of the files, for several reasons.


One, I didn't use a structured approach to AGT.  Star Portal was pretty much
programmed directly at the keyboard, with nothing written down except a crude
map.  There is still no map for some of the areas.  As a result, the message
and command files are not in any recognizable sequence.

Two, I started writing SP while I was beta-testing AGT.  It shows.  David was
adding features and shipping me disks on almost a weekly basis, and I never
went back and changed stuff that was already working to take advantage of new
commands.  That's why the same action in the game is frequently done in four 
or five different ways in the data files.  All of the creatures were a late
addition to the game; they weren't planned, and were added as I thought of
something it would be clever for one of them to do.

Three, there are several places where I put in a patch because I couldn't
figure out what in the world was making the game do something strange.  I
think most of these are commented. There is at least one place where I had
to put in a fake message because I found that the next message would not
print after one particular one had been used (no, I still don't know why).

Four, there are a number of things spread around the data base that no
longer have a function.  To be honest, it got to the point where the whole
thing was pretty complex, and I was afraid to take something away, in case
it messed things up by not being there!  This is the major effect of item One 
(not having the structure defined on paper before starting).

As a side comment, I have left all the debugging statements in the command
file.  These were quick and very dirty, very limited purpose commands to
get me to specific rooms, with specific tools and\or creatures for testing
purposes.


I tried to comment as much as I could as I went along.  It's necessary!  I 
couldn't remember why I put in some of the stuff several weeks after I 
wrote it!

It may be of some interest to reveal that I did all of the work for SP on
a Standard 386/16 PC using the DESQview multitasking system.  Not only was
the 386 a very fast way to do compiles, but I was able to bring up multiple 
source file windows to make changes to the data bases while the game was 
running.  This reduced the cycle time enormously.  I did, however, learn one
valuable lesson.  Never do background compiling while actually playing the 
game.  AGT gets very upset if you change the data files while they are being
used.  I'd like to thank Dave Malmberg for speedy turn-around on implementing
the command line switch to allow AGT (read: Turbo Pascal) to function in a
graceful manner under DESQview, intead of putting characters pretty much in
random locations on the screen.


STAR PORTAL must be compiled with the Adventure Game Toolkit version 1.15
or later (on the PC version; I would hazard a guess that this is true on 
the MAC version of AGT also).


Michael Detlefsen
Nov 1988

